/*
 * final 关键字的作用
 */

public class test11_13_1 {
    public static void main(String[] args) {
        final int a = 10;
        //a = 20; //编译错误，常量不能被修改
    }
}

// final class Person /*extends Object*/{      // 添加 final 关键字，表示该类不能被继承
class Person /*extends Object*/{      // 默认扩展自类Object

    String name;
    int height;

    public void rest(){
        System.out.println("休息");
    }
}


class Student extends Person{       // 继承自Person类
    String major;       //专业

    public void study(){
        System.out.println("学习");
        rest();
        System.out.println(this.name);
    }

    public Student(String name,int height,String major){
        this.name = name;
        this.height = height;
        this.major = major;
    }
}

class Boy extends Person{
    String weight;
}


/*
 * 学习笔记：
 * 1. final 关键字的作用：修饰类，表示该类不能被继承；修饰方法，表示该方法不能被重写；修饰变量，表示该变量不能被修改
 * 2. final 关键字修饰的类，不能被继承，但是可以继承其他类
 * 3. final 关键字修饰的方法，不能被重写，但是可以重写其他方法
 * 4. final 关键字修饰的变量，不能被修改，但是可以修改其他变量
 * 5. final 关键字修饰的变量，必须在声明时初始化，或者在构造方法中初始化，不能在构造方法之后初始化
 */